/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Klient;

import Helpers.Karty;
import java.util.Collections;
import java.util.Vector;

/**
 *
 * @author cigol
 */
public class Gracz {

    private String login;
    private Integer stanKonta;
    private Integer aktualnaStawka;
    private Vector<Integer> karty;

    public Gracz() {
        karty = new Vector<Integer>();
    }

    public String getLogin() {
        return login;
    }

    public void setLogin(String login) {
        this.login = login;
    }

    public void wypiszKarty() {
        System.out.print("Twoje karty: ");
        for (int i = 0; i < this.karty.size(); ++i) {
            Integer numerKarty = this.karty.get(i);
            System.out.print(i + 1 + ") " + Karty.wypiszFigure(numerKarty) + " " + Karty.wypiszKolor(numerKarty) + "  ");
        }
        System.out.println();

        int numerHierarchii = Karty.numerHierarchii(karty);
        String hierarchia = Karty.hierarchia(numerHierarchii);
        System.out.println("Uklad twoich kart: " + hierarchia);
    }

    public void dodajKarte(Integer karta) {
        karty.add(karta);
    }

    public Integer podajHierarchie() {
        return Karty.numerHierarchii(karty);
    }

    public void posortujKarty() {
        Collections.sort(karty);
    }

    public String podajKarty() {
        String moje = "";
        for (int i = 0; i < 5; ++i) {
            if (karty.elementAt(i) < 10) {
                moje += "0" + karty.elementAt(i);
            } else {
                moje += karty.elementAt(i);
            }
        }
        return moje;
    }

    // pokazuje karte, pamietac ze zawsze indeksujemy od zera
    public Integer pokazKarte(Integer numerKarty) {
        return karty.get(numerKarty);
    }

    public void ustawDoWymiany(Integer karta) {
        karty.set(karta, -1);
    }

    // usuwa karty ktore trzymasz w rece, ktore zadeklarowales do wymiany
    public void usunWybraneKarty() {
        int k = 0;
        int ilosc = 5;
        while (k < ilosc) {
            if (this.karty.get(k) == -1) {
                this.karty.remove(k);
                --ilosc;
            } else {
                ++k;
            }
        }
    }

    public void usunKarty() {
        karty.clear();
    }

    public void nowaTura() {
        this.aktualnaStawka = 0;
        karty.clear();
    }

//    public void koniecTury() {
//        stanKonta -= aktualnaStawka;
//    }

    public Integer koniecTury() {
        stanKonta -= aktualnaStawka;
        return new Integer(stanKonta);
    }

    public Integer getStanKonta() {
        return stanKonta;
    }

    public void setStanKonta(Integer stanKonta) {
        this.stanKonta = stanKonta;
    }

    public void zwiekszStanKonta(Integer kasa) {
        this.stanKonta += kasa;
    }

    public Integer getAktualnaStawka() {
        return aktualnaStawka;
    }

    public void setAktualnaStawka(Integer aktualnaStawka) {
        this.aktualnaStawka = aktualnaStawka;
    }
}
